import request from '@/utils/request' // 假设request.js路径为src/utils/request.js

export const goodsApi = {
  /**
   * 上架商品（创建并标记为上架中）
   * @param {Object} params - 请求参数（商品信息）
   * @param {string} params.name - 商品名称（必填）
   * @param {string} params.category - 商品类别（必填）
   * @param {number} params.currentStock - 当前库存（必填）
   * @param {string} [params.description] - 商品描述（可选）
   * @param {number} params.price - 商品价格（必填）
   * @returns {Promise} 响应结果（包含message和商品信息）
   */
  onlineProduct: (params) => {
    return request.post('/logistics/products/online', params)
  },

  /**
   * 下架商品（状态改为"下架中"）
   * @param {string} id - 商品ID（MongoDB ObjectId，必填）
   * @returns {Promise} 响应结果（更新后的商品信息）
   */
  offlineProduct: (id) => {
    return request.put(`/logistics/products/${id}/offline`)
  },
   /**
   * 重新上架商品（状态改为"上架中"）
   * @param {string} id - 商品ID（MongoDB ObjectId，必填）
   * @returns {Promise} 响应结果（包含message）
   */
  reOnlineProduct: (id) => {
    return request.put(`/logistics/products/${id}/online`)
  },

  /**
   * 更改商品信息（更新基础信息）
   * @param {string} id - 商品ID（MongoDB ObjectId，必填）
   * @param {Object} params - 更新参数（可选字段）
   * @param {string} [params.name] - 新商品名称
   * @param {string} [params.category] - 新商品类别
   * @param {number} [params.currentStock] - 新库存
   * @param {string} [params.description] - 新描述
   * @param {number} [params.price] - 新价格
   * @returns {Promise} 响应结果（更新后的商品信息）
   */
  updateProduct: (id, params) => {
    return request.put(`/logistics/products/${id}`, params)
  },

  /**
   * 查询商品列表（所有商品基础信息）
   * @returns {Promise} 响应结果（商品数组）
   */
  getProductList: () => {
    return request.get('/logistics/products')
  },

  /**
   * 查询单个商品详情
   * @param {string} id - 商品ID（MongoDB ObjectId，必填）
   * @returns {Promise} 响应结果（单个商品信息）
   */
  getProductDetail: (id) => {
    return request.get(`/logistics/products/${id}`)
  }
}